package com.shanwen.shopping.http;

import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import java.util.List;

/**
 * 通用列表解析
 * <pre>使用fastjson进行解析</pre>
 */
public abstract class ListCallback<T> extends BaseCallback {

    @Override public void parse(String data) {
        List<T> response = TextUtils.isEmpty(data) ? null :JSON.parseArray(data, getType());
        onSuccess(response);
    }

    public abstract void onSuccess(List<T> response);

    /**
     * 设置要转换的对象类型
     *
     * <pre>
     *     return Object.class
     * </pre>
     */
    public abstract Class<T> getType();
}
